Method of generating path of multiaxial robot and control apparatus for the multiaxial robot

ABSTRACT

A path is generated for an end effector arranged at a top of links of a multiaxial robot, where the end effector is moved along the path from a start point thereof to an end point thereof. In generating the path, the start and end points are positionally specified in the real space, and initial pass points are also generated between the start and end points. Coordinate positions of both specified start and end points and generated initial pass points are converted to angles of the respective axes of the joints. Based on the start and end points and initial pass points, which have been converted to the joint angle space, the path is generated which enables the end effector to be moved in the shortest time from its start point to its end point, during the initial pass points are changed repeatedly for generating the path.

BACKGROUND OF THE INVENTION

1. Technical Field of the Invention

The present invention relates to a method of generating a path toaccelerate the movement velocity of a multiaxial robot and relates to acontrol apparatus for the multiaxial robot.

2. Related Art

Recently, in the field site such as of a productive facility, greatvariety of industrial robots is used. Such industrial robots includeso-called multiaxial robots having a plurality of joints (axes). Suchmultiaxial robots are used for the works of welding, coating, partsassembly, parts conveyance, and the like. Such a multiaxial robot, bythe nature of the role played by it, is required to reduce its timeduration from a start point to an end point, i.e. required to increasemovement velocity.

Methods of controlling the acceleration/deceleration of the movement ofa multiaxial robot for increasing movement velocity are well known. Forexample, according to one of such methods, a basic movement velocitypattern is formed into a trapezoidal shape to calculate a maximumacceleration according to the posture of the robot, followed bycorrection of the velocity pattern. According to another method, amultiaxial robot is moved under bang-bang control using a maximum torquepattern which is based on a maximal principle.

In this trapezoidal velocity pattern, acceleration is constant in thetime duration that corresponds to each of the shoulder portions.However, since the actual posture of the multiaxial robot changes momentby moment, the maximum acceleration changes in a non-linear manner. Inother words, although a maximum acceleration can originally be achievedin a non-linear manner, the acceleration in the above movement velocitypattern is performed in a linear manner. Therefore, the motors are notable to sufficiently exert their performances. Regarding the lattermethod, although there are actually constraints imposed by the upperlimit of the movement velocity (constraint conditions), such constraintconditions are ignored. As prior art related to the control ofacceleration/deceleration mentioned above, control methods disclosed inpatent documents JP-A-2000-094371, JP-A-2002-132349 and JP-A-2002-321178are well known.

The outlines and problems of the control methods disclosed in the patentdocuments set forth above are explained below.

The patent document JP-A-2000-094371 discloses a control method in whichthe acceleration in the trapezoidal velocity pattern is changedaccording to the weight of a work and the inertia. However, according tothis control, the acceleration is increased at a constant rate based onthe acceleration calculated at the time of attaching/detaching the work.Accordingly, the acceleration cannot go beyond the limitation imposed bythe attributes of the trapezoidal velocity pattern.

The control method disclosed in the patent document JP-A-2002-132349also mentions about the time duration of performingacceleration/deceleration based on a trapezoidal velocity pattern.Specifically, in the time duration, an actual acceleration curve isadjusted so as to be in conformity, as much as possible, with a presetlimiting acceleration curve to enable output of larger acceleration.

However, it is unclear in this patent document how the preset limitingacceleration curve is calculated. Further, the curve is provided, as aparameter, for each of the axes, each of the movement directions andeach of accelerations/decelerations. Accordingly, in this controlmethod: (1) a plurality of parameters are provided and thus themanagement is troublesome; in addition, (2) the parameters, which arediscrete values, cannot precisely be in conformity with the accelerationcurve; further, (3) although a maximum acceleration depends on theposture of the robot, no consideration is given to this point.Therefore, this control method is not regarded to be a generic method.

The patent document JP-A-2002-321178 discloses a control method in whicha dynamic equation is solved taking account of the motion dynamics ofeach of the axes of a robot at the start point of a movement, the endpoint of acceleration, the start point of deceleration, and the endpoint of the movement to thereby minimize the acceleration time and thedeceleration time. However, with this control method,acceleration/deceleration cannot be minimized at action points otherthan the action points mentioned above.

SUMMARY

Hence it is desired to provide a method of generating a path (ortrajectory) of a multiaxial robot to shorten the time duration in themovement of the end effector of the robot and to reduce the amount ofgenerating the path, and provide a control apparatus for the robot in ashorter time duration of the end effector thereof.

As an exemplary embodiment, there is provided a method of generating (orproducing) a path for multiaxial robot provided with a plurality ofmovable axes composed of a plurality of links and a plurality of joints,an end effector being arranged at a top of the links connected with thejoints and being moved along the path, the step including steps of:specifying a start point and an end point; generating a pass pointbetween the specified start and end points; converting coordinatepositions of both the specified start and end points and the generatedinitial pass points into angles of each of the movable axes of thejoints; and generating, based on both the specified start and end pointsand the generated initial pass points which have been subjected to theangle conversion, the path which enables the end effector to move in theshortest time from the start point thereof to the end point thereof, theproduction of the path involving repeated changes of the initial passpoints.

Preferably, the initial pass points are three in number.

Still preferably, the step of generating the path generates velocitypatterns of first and second joints to drive respectively first andsecond joints among the plurality of joints on the basis of the startand end points which have been subjected to the angle conversion, thesecond link being positioned closer to the end effector than the firstlink, the velocity patterns enabling a movement of the second link tocause i) a reaction for increasing an acceleration force generated bythe first joint when the end effector is started to be moved from thestart point toward the end point, and ii) a reaction for increasing adeceleration force generated by the first joint when the end effector isstopping to the end point.

As another exemplary embodiment, there is provided an apparatus forcontrolling drive of a multiaxial robot provided with a plurality ofmovable axes composed of a plurality of links and a plurality of joints,comprising: position specifying means for specifying a start point andan end point of a path continuing from the start point to the end point,the end effector being arranged at a top of the links connected with thejoints; first generating means for generating a pass point between thespecified start and end points; converting means for convertingcoordinate positions of both the specified start and end points and thegenerated initial pass points into angles of each of the movable axes ofthe joints; second generating means for generating, based on thespecified start and end points and the generated initial pass pointswhich have been subjected to the angle conversion, the path whichenables the end effector to move in the shortest time from the startpoint thereof to the end point thereof, the production of the pathinvolving repeated changes of the initial pass points; and controllingmeans for controlling drive of the plurality of movable axes based onthe generated path.

Since the path mentioned above is generated as a result of thecalculation based on the motion dynamics of a multiaxial robot, a paththat can maximizes the velocity is obtained within a range of satisfyingconstraint conditions of the robot. Accordingly, an optimal path thatcan be practically used is obtained.

Assuming that the calculation is performed using the coordinatepositions of the end effector and that the configuration of the arm ischanged at some point of the path, the type of the inverse kinematics ischanged at the point when the configuration is changed. As a result, theconstraint conditions of the robot related to the acceleration andvelocity are changed, disabling the calculation of obtaining acoherently shortest time duration of the movement between the startingand ending points. Therefore, when calculation is performed using thecoordinate of the end effector, it is required that the configuration ofthe arm is not changed. This leads to addition of limitation incalculating a path that minimizes the time duration. In this regard,when calculation is performed after converting the coordinate positionsof the end effector to the axis angles, the constraint conditions willnot be discontinuous even when the configuration is changed at somepoint of the path, thereby enabling the calculation. Accordingly, avelocity pattern that can minimize the time duration can be calculatedwithout constraining the configuration of the arm.

BRIEF DESCRIPTION OF THE DRAWINGS

In the accompanying drawings:

FIG. 1 shows diagrams schematically illustrating steps of calculating amovement path of minimum time for a robot, which are performed in theembodiments of the present invention;

FIG. 2 shows, by (a) to (d), diagrams illustrating a principle of amethod of controlling the movement of an arm of a robot according to theembodiments, comparing with an example of conventional art;

FIG. 3 shows, by (a), a general schematic perspective view of a robotexemplified in a first embodiment of the present invention and, by (b),an X-Y plane on which physical parameters (dynamic parameters) of arobot are indicated;

FIG. 4 shows an electrical and functional block diagram illustrating acontrol system of the robot according to the first embodiment;

FIG. 5 shows a flow diagram illustrating steps of generating a velocitypattern performed by a control unit, according to the steps shown inFIG. 1;

FIG. 6 shows a flow diagram illustrating details of a part of the stepsof generating the velocity pattern as shown in FIG. 5, using theBobrow's method and taking account of constraint conditions;

FIG. 7 shows, by (a) to (e), a diagram illustrating a right-hand systemand a left-hand system of a robot arm;

FIG. 8 shows a diagram illustrating the reasons why a velocity patternis calculated by converting coordinate positions of an end effector toan angle of each axis;

FIG. 9 shows an explanatory diagram illustrating the constraintcondition of path acceleration;

FIG. 10 shows a path in which coordinates of a first axis, a second axisand an end effector change on an X-Y plane;

FIG. 11 shows, by (a), a diagram concurrently plotting the fivepositions of the end effector, which are shown in FIG. 7 by (a) to (e)and, FIG. 11 shows by (b), a diagram illustrating changes in an angle,angular velocity, angular acceleration and torque of each of the firstand second axes during a movement from a start point to an end point;

FIG. 12 shows a flow diagram illustrating a process of preparing avelocity pattern, which is performed by a control unit, according to asecond embodiment of the present invention;

FIG. 13 shows a flow diagram illustrating a detailed process ofpreparing a velocity pattern according to the Bobrow's method, takingaccount of constraint conditions, the process being performed as a partof the process shown in FIG. 12;

FIG. 14 shows a schematic diagram illustrating a triaxial arm robotaccording to a modification;

FIG. 15 shows a diagram illustrating a simulation when the method ofgenerating a path of the present invention is applied to the triaxialrobot;

FIG. 16 shows a diagram illustrating a TN curve of a motor used in amultiaxial robot, according to another modification;

FIG. 17 shows a schematic diagram illustrating a biaxial XR robot,according to still another modification; and

FIG. 18 shows a schematic diagram illustrating the effects of the methodof generating a path of the present invention in the XR robot.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

With reference to the accompanying drawings, hereinafter are describedvarious embodiments of a technique of generating (or producing) a path(or trajectory) of a multiaxial robot of the present invention and acontrol apparatus for the multiaxial robot.

First Embodiment

Referring to FIGS. 1 to 11, hereinafter are described a method ofgenerating a path of a multiaxial robot and a control apparatus for themultiaxial robot, according to a first embodiment of the presentinvention.

Before specifically describing an example of the multiaxial robot,referring to FIGS. 1 and 2, an outline of a control method of themultiaxial robot of the present embodiment is described. First,referring to (a) to (d) of FIG. 2, the control method of the presentembodiment is described comparing with a control method based onconventional art.

As shown in FIG. 2( a), let us assume a simple biaxial robot (havingaxes J1 and J2) in which first and second arms (links) AM1 and AM2 arecombined into one arm so as to be movable about two joints JT1 and JT2,respectively. An end effector EF of the robot is moved on the X-Y planefrom an angular position (J1, J2)=(0°, 0°) to an angular position (J1,J2)=(90°, 0°).

As shown in FIG. 2( b), the simplest method in this case is to rotateonly the first arm AM1 (i.e. the first axis J1) by 90° without movingthe second arm AM2 (i.e. the second axis J2). With this method, thefirst arm AM1 greatly suffers from disproportionately imposed large loadbecause only the first arm AM1 is moved. Further, with this method, thearm as a whole has a constantly maximum movement radius that causeslarge inertia. Therefore, this raises a problem of allowing the movementvelocity to be low.

FIG. 2( c) shows a movement based on the bang-bang control mentionedabove. In this case, the arm is folded involving the movement of thesecond arm AM2 in addition to the movement of the first arm AM1.Accordingly, the inertia is reduced to enable high-velocity movement.However, no constraint conditions, such as a velocity constraint imposedon the robot, are taken into account in this case. Therefore, it isimpossible to actually move the robot in this way for the reduction ofthe time duration.

In the present embodiment, the movement path as schematically shown inFIG. 2( d) is realized. Specifically, when the movement of the endeffector EF is started, the first arm AM1 (first axis J1) is rotated,first, in a direction of an end point (refer to the arrow A), while thesecond arm AM2 (second axis J2) is rotated in a direction opposite tothe end point (refer to the arrow A′). In this case, the configurationof the arm is based on a so-called left-hand system.

After that, at some point of rotating the first arm AM1 (refer to thearrow A), the second arm AM2 is permitted to pendulate in its rotationaldirection (refer to the arrow B′), so that, as viewed with reference tothe first arm AM1, the end effector EF (the position of an end of thesecond arm AM2) approaches the end point preceding an end of the firstarm AM1. In this case, the configuration of the arm is based on aso-called right-hand system.

Specifically, in the movement shown in FIG. 2( b), the second arm AM2and the end effector EF are always positioned on the radius of a circlecentering on the first arm AM1. On the other hand, in the movement shownin FIG. 2( d), the second arm AM2 is firstly rotated in a direction of astart point (the arrow A′) to allow a delay in the movement of the endeffector EF. However, after that, the second arm AM2 is rotated towardthe end point, preceding the first arm AM1. In other words, the endeffector EF precedes the first arm AM1.

In this way, the coactive movement of the two arms AM1 and AM2 (firstand second axes) can disperse the load imposed on the motors of the twojoints JT1 and JT2, compared to the movement shown in FIG. 2( b).Further, since the arm is slightly folded, the inertia becomes smallerto thereby reduce the load imposed on the motors.

In addition, the movement of the second arm AM2 causes a forceaccompanying the reaction in the first arm AM1, i.e. the first axis J1.Specifically, when the end effector EF moves from the start point, abias force is applied to the first arm AM1, as shown by the arrow A″,accompanying the reaction against the temporarily reverse rotation (thearrow A′) of the second arm AM2. The bias force A″ is applied in adirection of enhancing the rotation of the arm AM1 toward the end point.Conversely, when the end effector EF approaches the end point, asuppressive force is applied to the first arm AM1, as shown by the arrowB″, accompanying the reaction against the preceding movement (the arrowB′) in the rotational direction of the second arm AM2 up to then. Inother words, the suppressive force B″ is applied in a direction ofsuppressing the rotation (the arrow A) of the first arm AM1 up to then.

In this way, the acceleration and the deceleration of the rotation ofthe first arm AM1 are positively assisted by the reaction forces, i.e.the bias force or the suppressive force, which is caused by the temporalmovements of the second arm AM2 when the end effector EF starts or endsits rotation. Accordingly, the time taken for moving the end effector EFfrom the angular position (J1, J2)=(0°, 0°) to the angular position (J1,J2)=(90°, 0°) is remarkably shortened compared with the control withoutthe assist described above.

In order to achieve the movement of the arms in this way, it is requiredto generate, in advance, a velocity pattern for rotating the arms, i.e.the motors of the respective axes. In generating the velocity pattern, amethod that will be specifically described later is used to select amost efficient movement path on the premise that the constraintconditions of the robot are satisfied.

FIG. 1 illustrates diagrams schematically showing steps of realizing themovement path shown in FIG. 2( d). First, a plurality of pass points aretemporarily set while the end effector EF of the robot is moved from thestart point to the end point (FIG. 1( a)). Then, the Bobrow's method isused to calculate a path of the end effector EF. Thus, a velocitypattern is calculated, which can realize a maximum velocity in themovement of the end effector EF via the pass points (FIG. 1( b)). Inperforming the calculation according to the Bobrow's method, an equationcorresponding to the actual motion of the robot (this equation ishereinafter referred to as a motion equation) is taken into account.Therefore, a maximum velocity pattern is calculated upon satisfaction ofthe constraint conditions of the robot, the constraint conditionsincluding the limitation in the movement velocity and torque of eachaxis.

After calculating the velocity pattern, a time duration is calculated,which will be required for the robot to move from a predetermined startpoint to a predetermined end point according to the velocity pattern(FIG. 1( c)). Then, updating the pass points (FIG. 1( d)), the stepsdescribed above are repeatedly performed. When the time duration isdetermined to have been converged to minimum, the series of steps isended. The series of steps is performed for each axis of the multiaxialrobot. The resultant path will be the one that satisfies the constraintconditions of the robot (i.e. the upper limits of velocity and torque ateach of the joints of the robot) and enables the end effector EF to movefrom the start point to the end point in a shortest time. Theinformation regarding the velocity pattern of each axis (i.e. pathinformation) obtained in this way is stored in a storage (not shown) ina robot controller RC (refer to FIG. 4), for use in the actual controlof the multiaxial robot. The robot controller RC thus functions as acontrolling apparatus for the robot.

Referring to FIGS. 3 to 11, hereinafter are specifically described amethod of generating the path information of the multiaxial robotdescribed above and an example of a control apparatus for the multiaxialrobot, using the path information. FIG. 3( a) is a schematic diagramgenerally illustrating a four-axis robot 1 (multiaxial robot). The robot1 includes a linear movement rail 2. The linear movement rail 2supports, via its lower surface, a movable body 2 a (base-side arm), asa first link, such that the movable body 2 a can linearly move along anX direction that is the first axis (X axis). The linear movement rail 2includes a drive mechanism that can freely move the movable body 2 a.Although not specifically shown, the drive mechanism is composed of alinear movement motor 3 arranged at an end of the linear movement rail 2and a ball-screw mechanism, not shown.

The movable body 2 a has a lower surface portion which is connected withan arm support base 4. The arm support base 4 has a lower surface onwhich a horizontal turn arm 5 (end effector-side arm) extending in thehorizontal direction is mounted. Specifically, the horizontal turn arm5, as a second link, has an end portion on a base-end side, throughwhich the arm 5 is mounted to the lower surface of the arm support base4 so that the arm 5 can turn in an R direction about a second axis(vertical axis, R axis). The horizontal turn arm 5 has the other endportion (end face) on a side opposite to the base-end side with respectto the vertical axis. The end face of the arm 5 is mounted with anelevating body 6, as a third link, which is vertically movable (thirdaxis, Z axis). The elevating body 6 has a lower surface on which a wrist7, as a fourth link, is mounted so as to be coaxially rotatable about avertical axis (fourth axis, T axis). The wrist 7 is configured such thata work tool, such as a chuck (hand) for holding a work, is detachablyattached thereto.

The horizontal turn arm 5 is infinitely rotatable (turnable) in ahorizontal direction by an arm rotating motor 8 (see FIG. 4) and arotation transmission mechanism. The arm rotating motor 8 is arrangedinside the arm support base 4 to serve as a drive source. The elevatingbody 6 is vertically moved at an end of the horizontal turn arm 5 by amotor and a rack-pinion mechanism incorporated in the horizontal turnarm 5. The wrist 7 is coaxially rotated by a motor incorporated in theelevating body 6.

The movements of the robot 1 (motors of the respective axes, includingthe linear movement motor 3) are ensured to be controlled, as shown inFIG. 4, by a control unit 9 (control apparatus) of a robot controller RCon the basis such as of a work process program. The control unit 9includes a CPU, ROM and RAM and connected with a teaching pendant 10.The teaching pendant 10 includes a group of switches 11 and a display 12as an indicating means.

FIG. 3( b) illustrates an X-Y plane on which physical parameters(dynamic parameters) of the robot 1 are indicated. The Y axis isorthogonal to the X axis. The front side of the robot 1 shown in FIG. 3(a) corresponds to the positive side of the coordinate. In FIG. 3( b),references m₁, m₂ and m₃ indicate a mass of the first link [kg], a massof the second link [kg] and a total mass [kg] of “the third and fourthlinks and the loads”, respectively. References l_(g2) indicates adistance [m] from the axis position of the first link to the gravitycenter of the second link. Reference l₂ indicates a length [m] of thesecond link. Reference I₂ indicates an inertia [kgm²] around the gravitycenter of the second link. Reference I₄ indicates an inertia [kgm²]around the third and fourth links and a total gravity center. Referenceθ1 indicates a joint position of the first axis, and reference θ2indicates a joint angle of the second axis.

The multiaxial robot 1 described above has four axes. The method ofgenerating a path and the control method according to the presentembodiment can be performed with respect a plurality of axes, i.e. twoor three axes or more, among the four axes. However, for the sake ofclarifying the description on the principal of path generation andcontrol, only the first and second axes are subjected to calculation inthe following description. On the basis of the description set forthbelow, an example of path generation involving three or more axes andcontrol will be described later.

Here, regarding quantities θ and λ, the following definitions are given:

θ: Position of a robot shown by a joint angle of each axial joint [rad],

θ′: Velocity of a robot shown by an angular velocity of each axial joint[rad/s]:

θ″: Acceleration of a robot shown by an angular acceleration of eachaxial joint [rad/s²]:

λ: Each position on a path, which is referred to as a path parameter:

λ′: Gradient at each position on a path, which is referred to as a pathvelocity: and

λ″: Curvature at each position on a path, which is preferred to as apath acceleration.

The motion equation of the multiaxial robot 1 described above isgenerally expressed by the following Formula (1):

$\begin{matrix}{{\tau = {{{H(q)}\overset{¨}{q}} + {h\left( {q,q} \right)} + {B\; \overset{.}{q}} + {g(q)}}}{{q = \begin{bmatrix}\theta_{1} \\\theta_{2}\end{bmatrix}},{\overset{.}{q} = \begin{bmatrix}{\overset{.}{\theta}}_{1} \\{\overset{.}{\theta}}_{2}\end{bmatrix}},{\overset{¨}{q} = \begin{bmatrix}{\overset{¨}{\theta}}_{1} \\{\overset{¨}{\theta}}_{2}\end{bmatrix}}}} & (1)\end{matrix}$

where τ represents a torque vector. The physical parameters of the robot1 are reflected to an inertia matrix H and a matrix h indicating thecentrifugal and Coriolis forces, in Formula (1).

$\begin{matrix}{{H = \begin{pmatrix}{m_{1} + m_{2}} & {{- {{Cos}\left\lbrack {\theta_{2}(t)} \right\rbrack}}m_{2}l_{g\; 2}} \\{{- {{Cos}\left\lbrack {\theta_{2}(t)} \right\rbrack}}M_{2}L_{g\; 2}} & {i_{2} + {m_{2}l_{g\; 2}^{2}}}\end{pmatrix}}{h = \begin{pmatrix}{{{Sin}\left\lbrack {\theta_{2}(t)} \right\rbrack}m_{2}l_{g\; 2}{\theta_{2^{\prime}}(t)}^{2}} \\0\end{pmatrix}}} & (2)\end{matrix}$

Further, in Formula (1), B represents a friction and g represents agravity. However, these are ignored in the following description.

Regarding the details of the motion equation of a robot, refer to thefollowing Document 1:

-   Document 1: Proceedings of the 2006 IEEE/RSJ International    Conference on Intelligent Robots and Systems Oct. 9-15, 2006,    Beijing China “Time-Optimal Path Generation of Fast-Motion Planar    Parallel Manipulator” by Yanjie Liu, Chenqi Wan, Juan Li, Lining Sun

FIG. 5 is a flow diagram illustrating the steps corresponding to thosewhich are illustrated in FIG. 1, performed by the control unit 9.

First, the control unit 9 reads a start point and an end point of theend effector of the robot 1 (step S1). For example, the start and endpoints are given, for example, as teaching points by the operator. Then,responsively to an operator's command or automatically, the control unit9 determines three points between the start and end points, for use asinitial pass points (interpolating points) (step S2). In determiningthese initial pass points, linear interpolation or the like is used. Forexample, when the coordinate of the start point is (0, 0) and thecoordinate of the end point is (30, 100), the initial pass points aredetermined to be (7.5, 25), (15, 50) and (22.5, 75).

Then, the control unit 9 performs a spline interpolation, for example,to interpolate between the start point, the end point and the threeinitial pass points (step S3). With respect to the path resulting fromthe spline interpolation, the control unit 9 prepares a velocity patternthat minimizes the time duration, using the Bobrow's method (step S4).

Regarding the Bobrow's method, refer to the following Documents 2 and 3.

-   Document 2: The International Journal of Robotics Research, Vol. 4.    No. 3, Fall 1985 pp. 3-17 “Time-Optimal Control of Robotic    Manipulators Along Specified Paths” by J. E. Bobrow, S.    Dubowsky, J. S. Gibson-   Document 3: IEEE JOURNAL OF ROBOTICS AND AUTOMATION, Vol. 4, No. 4,    August 1988 pp. 443-450 “Optimal Robot Path Planning Using the    Minimum-Time Criterion” by James E. Bobrow

Then, the control unit 9 calculates a time duration in the case wherethe end effector (the end of the second axis, i.e. the second arm in thepresent example) of the robot 1 is moved along the interpolated path,according to the prepared velocity pattern (step S5). Then, the controlunit 9 calculates the difference between the time duration with the timeduration calculated previously. Then, the control unit 9 determineswhether or not the difference between the two time durations is smallerthan a predetermined threshold (e.g., 0.001 s) (step S6). If a negativedetermination is made (NO at step S6), the pass points calculated atstep S2 are updated using a downward simplex method or the like (stepS7). As a matter of course, other method, e.g., gradient method orgenetic algorithm, may be used here.

After updating the pass points, the process of the control unit 9returns to step S3, and step S3 and the subsequent steps up to step S7are repeatedly performed. Then, if the difference in the time durationbetween this time and the previous time is less than the predeterminedthreshold (YES at step S6), the series of steps of calculating amovement path is ended.

Referring now to FIG. 6, hereinafter is described the calculationaccording to the Bobrow's method carried out at step S5. First, usingthe following Formula (3) expressing the path of the end effector, whichhas been determined at step S3, a path parameter λ is converted to anend effector position x (vector) on the path (step S11).

x=f(λ)  (3)

It should be appreciated that the numbers designated to the formulas arein conformity with those which, if any, are indicated in Document 1.When the path f(λ) is interpolated with a three-dimensional splinefunction, for example, the following Formula (3a) is established:

f(λ)=aλ ³ +bλ ² +cλ+d  (3a)

where λ represents a variable of the coordinates which depends onincrements in the path from the start point to the end point.

Then, based on inverse kinematics, the end effector position x isconverted to an angle q of each axis (arm) (step S12).

q=p ⁻¹(f(λ))  (4)

where p represents a function that indicates forward kinematics. Thereason why the end effector position x is converted to an angle q isthat a path of the end effector can be calculated without limiting thehand system, i.e. the configuration of the arm of the robot 1 (FIG. 7(a) shows a left-hand system and FIG. 7( b) shows a right-hand system).

Specifically, as will be described referring to FIG. 8, when thecalculation of FIG. 6 is performed using the coordinate positions,assuming that the configuration of the arm is changed at some point ofthe path (see (a) and (b) of FIG. 8), the constraint conditions will bediscontinuous at the point when the configuration is changed and thus noresults of the calculation will be obtained. Therefore, the calculationusing the coordinate positions is required to be performed withoutchanging the configuration of the arm. (In Documents 2 and 3 as well, avelocity pattern that can achieve a maximum velocity is calculatedwithout changing the configuration of the arm of the robot from theinitially determined configuration.)

In contrast, in the present embodiment, a movement path is calculated byconverting, in advance, the coordinate positions into the angles of theindividual axes. Accordingly, in the event the configuration of the armis changed at some point of the path, the constraint conditions will notbe discontinuous and thus the results of the calculation can beobtained. In this way, a velocity pattern that can achieve a maximumvelocity is calculated without being constrained by the configuration ofthe arm.

Thus, when Formula (4) is substituted into Formula (1), Formula (5) isobtained as follows (step S13):

τ=a ₁(λ){umlaut over (λ)}+a ₂(λ){dot over (λ)}² +a ₃(λ){dot over (λ)}+a₄(λ)

a ₁ =Hj ⁻¹ f′

a ₂ =HJ ⁻¹(f″−{dot over (J)}(q,J ⁻¹ f′)J ⁻¹ f′)+h(q,J ⁻¹ f′)

a ₃ =BJ ⁻¹ f′

a ₄ =g  (5)

where J represents Jacobian. Further, in Formula (5), the terms of a₃and a₄, i.e. the parameters including the friction B and the gravity g,equal to zero.

Then, at step S14, the control unit 9 calculates a maximum accelerationλ″_(max) and a maximum deceleration λ″_(min) from Formula (5) (regardingthis, refer to Formulas (8) to (10) of Document 1). The symbol ″suffixed to λ replaces the double dots that indicate acceleration inDocument 1. The maximum acceleration λ″_(max) and the maximumdeceleration λ″_(min) calculated here are the constraint conditionsassociated with the acceleration in the movement of the robot 1.

Then, the control unit 9 calculates a next position 2 and a velocity λ′from Formulas (11) and (12), using the maximum acceleration λ″_(max) (orthe maximum deceleration λ″_(min)) (step S15). In these formulas, time tis a sampling time (e.g., 1 ms). Further, symbols λ₀ and λ′₀ indicate acurrent position and velocity, respectively. The symbol ′ suffixed to λindicates a first-order differentiation and replaces the dot thatindicates velocity in Document 1.

λ=0.5λ″_(max) t ² +λ′t  (11)

λ′=λ′_(max) t  (12)

Then, the control unit 9 determines whether or not the velocity λ′ andthe acceleration (deceleration) λ″ of the path parameter λ satisfy theconstraint conditions (step S16). Specifically, the control unit 9determines whether or not both of the following conditions:

λ′_(min)≦λ′≦λ′_(max)  (13)

λ″_(min)(λ,λ′)≦λ″≦λ″_(max)(λ,λ′)  (14)

are concurrently satisfied. Depending on whether the robot is inacceleration or deceleration, λ′_(min) or λ′_(max) and λ″_(min) orλ″_(max) is used.

FIG. 9 is a schematic diagram based on FIG. 2 of Document (2) set forthabove. Specifically, FIG. 9 shows a range of satisfying the constraintconditions regarding the acceleration (deceleration) λ″ of the pathparameter λ of a biaxial robot. More specifically, an allowable rangeλ″_(min) to λ″_(max) is set under AND conditions within a range of amaximum acceleration to a maximum deceleration specified to each axis(motor arranged at each joint).

Further, critical values λ′_(min) and λ′_(max) of the constraintconditions regarding the velocity λ′ of the path parameter λ are asfollows:

λ′_(min)=max(q′min/f′(λ))  (15)

λ′_(max)=min(q′ _(max) /f′(λ))  (16)

where f(λ) indicates a path, and q′_(min) and q′_(max) indicate minimumand maximum joint velocities, respectively, determined depending on thespecification of the robot 1.

The velocity condition and the acceleration (torque) condition areminimum conditions necessary as the constraint conditions. Depending onthe situation, other conditions may be added.

At step S16 mentioned above, if the velocity λ′ and the acceleration(deceleration) λ″ of the path parameter λ satisfy both of the constraintconditions of Formulas (13) and (14) (YES at step S16), the control unit9 updates the position λ to the value calculated at step S15 (step S17).Then, the control unit 9 determines whether or not the position λ hasreached an end λ_(end) (step S18). If a negative determination is made(NO at step S18), the process returns to step S14. If an affirmativedetermination is made (YES at step S18), the process is ended.

On the other hand, at step S16, if the velocity λ′ and the acceleration(deceleration) λ″ do not satisfy at least one of the constraintconditions of Formulas (13) and (14) (NO at step S16), the control unit9 performs step S19. Specifically, when the robot is in a state ofacceleration, the control unit 9 subtracts an arbitrary constant “a”from the maximum acceleration λ″_(max) to use the resultant value as anew maximum acceleration λ″_(max). On the other hand, when the robot isin a state of deceleration, the control unit 9 subtracts the arbitraryconstant “a” from the maximum deceleration λ″_(min) to use the resultantvalue as a new maximum deceleration λ″_(min). After that, the processreturns to step S15 where the position λ and the velocity λ′, i.e. thepath parameters, are recalculated.

When the process shown in FIG. 6 is completed, a velocity pattern thatcan achieve a maximum movement velocity is obtained. With this velocitypattern, a maximum movement velocity is achieved when the end effectorof the robot 1 moves along the path obtained through the interpolationat step S3 of FIG. 5, satisfying the constraint conditions of thevelocity and acceleration (=torque). In other words, since thecalculation process according to the Bobrow's method is performed basedon the motion dynamics of the robot 1, the constraint conditions of therobot 1 can be satisfied.

Although not shown, actually, the time duration according to steps S4and S5 is calculated for forward and backward velocity is patternsbetween the start and end points. That is, the algorithm set forth instep S4 is applied to calculation of the forward velocity pattern fromthe start point to the end point, and then applied to calculation of thebackward velocity pattern from the end point to the start point. Afterthat, the forward velocity pattern and the backward velocity pattern arecombined, and a time duration is calculated for the combined pattern.

FIGS. 10 and 11 show an example of a path calculated as described abovefor the minimization of the movement velocity of the end effector of therobot 1. FIG. 10( a) is a diagram illustrating, with the solid line, apath, i.e. changes in coordinates, on the X-Y plane, of the first andsecond axes and the end effector. As shown in the figure, the coordinateat the start point is (−0.3, 0.3) and the coordinate at the end point is(0.3, 0.3). FIG. 11( b) is a diagram illustrating changes in the angle,angular velocity, angular acceleration and torque of the first andsecond axes during the movement from the start point to the end point.

The first axis linearly moves on the X axis from −0.3 [m] (see FIG. 10(a)) to 0.3 [m] (see FIG. 10( e)). This corresponds to the movement ofthe movable body 2 a along the linear movement rail 2. The second axishas a rotation angle θ2 (rotation angle of the horizontal turn arm 5)which is 0 [rad] at the start and end points and at a midpoint on the Xaxis. However, as shown in FIG. 10( b), the second axis is in a state ofbeing rotated, by 0.6 [rad], in a direction opposite to the direction ofthe end point. Thus, the X-axis coordinate of the end effector is on anegative side with respect to the coordinate of the movable body 2 a.This state corresponds to the right-hand system in light of theconfiguration of the arm of the robot 1. In contrast, as shown in FIG.10( d), the second axis is in a state of being rotated, by −0.6 [rad],in the direction of the start point. Thus, the X-axis of the position ofthe end effector is on a positive side with respect to the coordinate ofthe movable body 2 a. This state corresponds to the left-hand system inlight of the configuration of the arm of the robot 1.

In accordance with the above movement, the angular velocity of thesecond axis reaches a positive-side peak (10 rad/s, peak V2) right aftermoving away from the start point (V1). Then, from this peak point, theangular velocity linearly changes toward a negative-side peak (−10rad/s, peak V3) at a midpoint. Further, the angular velocity alsolinearly changes from the midpoint toward a positive-side peak (10rad/s, peak V4) right before the end point. In other words, as shown inFIG. 11( b), a symmetrical velocity pattern is drawn centering on themidpoint.

The angular acceleration corresponding to the above angular velocitypattern will have a pattern as follows. Specifically, the angularacceleration reaches a positive-side peak 400 rad/s² from 0 at the startpoint V1, turns to a negative value of about −50 rad/s² at the peak V2and keeps the negative value of about −50 rad/s² up to the peak V3 atthe midpoint. Further, when the angular acceleration turns to a positivevalue of 50 rad/s² at the peak V3 at the midpoint, the value is kept upto the peak V4. Then, the angular acceleration reaches a negative-sidepeak −400 rad/s² at the peak V4 and returns to 0 at the end point V5.

The movement of the second axis as described above exerts the followingeffects. Specifically, upon start of the movement from the start point,the second axis changes its angle θ2 from 0 [rad]→0.6 [rad]→0 [rad]before it reaches the midpoint on the X axis. Thus, the end effector ofthe robot 1, which has once pendulated in a positive-rotation direction,pendulates back in a negative-rotation direction. In response, areaction accompanying this movement is caused in the movable body 2 a togenerate an acceleration force for accelerating the movement of thefirst arm when movement is started. This bias force assists (biases) themovement of the first and second arms in the direction of the end point.

On the other hand, the second axis changes its angle θ2 from 0[rad]→−0.6 [rad]→0 [rad] before it reaches the end point from themidpoint on the X axis. Thus, the end effector of the robot 1, which hasonce pendulated in a negative-rotation direction, pendulates back in apositive-rotation direction. In this case as well, a reactionaccompanying the movement is caused in the movable body 2 a to work as adeceleration force. The deceleration force assists (suppresses) thedeceleration movement of the second axis before it reaches the end pointand stops its movement.

As a result of the movement of the second axis as described above, timeis shortened for the end effector of the robot 1 to move from the startpoint to the end point, compared with the time required for the simplemovement of a multiaxial robot based on the conventional art. The brokenlines in FIG. 10 indicate a path in the case where the first axis ismoved without rotating the second axis at all. When the movement of therobot 1 was simulated based on this broken-line path, the time durationwas 536 ms, while a simulation based on the path indicated by the solidline resulted in a time duration of 514 ms. Thus, the solid-line pathhad an effect of reducing the time duration by 4% or more. Accordingly,when the robot 1 is allowed to have a time duration equal to that of theconventional art, the robot 1 can be moved with less energy than in theconventional art, thereby contributing to energy saving. Further, forexample, reducing the output of the motors, the level of wattage of themotors can be reduced, leading to reduction in the size and cost of therobot 1.

FIG. 11( a) is a diagram concurrently plotting the five positions of theend effector illustrated in (a) to (e) of FIG. 10. These five positionscorrespond to the five points (V1 to V5) plotted on the angular velocitypattern of the second axis shown in FIG. 11( b), i.e. correspond toreverse points of the angular velocity or the angular acceleration. Asdescribed above, at step S2 of FIG. 5, three initial pass points are setbetween the start and end points. These three initial pass points areselected so as to correspond to the reverse points of the angularvelocity or the angular acceleration shown in FIG. 11. This is becauseselection of the three initial pass points in this manner is regarded tobe advantageous in enhancing the efficiency of calculation.

For example, as will be understood from FIG. 4 of Document 3 and therelated description therein, in the Bobrow's method, a larger number ofpass points for searching a path can exert more effect of reducing thetime duration. However, increase in the number of pass points directlyleads to the increase of the time taken for calculation. Therefore,unlimited increase of the number of pass points is not practical.

In this regard, in the present embodiment, the number of the initialpass points is set to three, taking account of the balance betweenreduction of the time duration and suppression in the increase of thecalculation time. Selection of the initial pass points is not requiredto be strictly performed. As described above, the three initial pointsmay be determined such as by simply dividing the linear distance betweenthe start and end points into four. In the course of repeating the stepsshown in FIG. 1 or 5, a new path is calculated with the update of thepass points to achieve optimization.

As a result, a path will be selected, which would minimize the timeduration in a movement pattern such as a pick-and-place pattern. Theselection of such a path depends on the coordinate positions of thethree pass points as the three reverse points, as shown in FIG. 11( a),of the angular velocity or the angular acceleration of the second axis.In this way, when the number of the initial pass points is set to three,a path that minimizes the time duration can be calculated, whilesuppressing increase in the calculation time.

As described above, according to the present embodiment, the object tobe moved is the multiaxial robot 1 that includes the movable body 2 apositioned on the base side and the horizontal turn arm 5 connectedthereto on the end-effector side of the movable body 2 a. The controlunit 9 generates a path such that, in moving the end effector from thestart point, the reaction caused in the movable body 2 a by the movementof the horizontal turn arm 5 can increase the acceleration force, whichis caused by the movement of the movable body 2 a along its base axisthat is the linear movement rail 2. Also, the control unit 9 generatesthe path such that, in stopping the end effector at the end point, thereaction caused in the movable body 2 a by the movement of thehorizontal turn arm 5 can increase the deceleration force caused by themovement of the movable body 2 a.

In the control of a multiaxial robot based on conventional art, an axiswhose amount of movement does not change between the start and endpoints stays still in a simple work based on a pick-and-place pattern orthe like. In other words, the robot will have the movement patternindicated by the broken lines in FIG. 10. With the arm being fullyextended, the second axis would continue outputting useless holdingtorque so that the arm on the end effector-side would not be moved bythe inertia torque caused by the high acceleration of the first axis(travelling axis). Accordingly, the useless holding torque only imposesa load on the base-side arm.

On the other hand, when a path is generated as described above, thehorizontal turn arm 5 moves such that it causes a reaction to themovable body 2 a. The path can increase both the acceleration forcerequired in activating the end effector and the deceleration forcerequired in stopping the end effector. Thus, the velocity of moving theend effector from the start point to the end point is enhanced tothereby reduce the time duration of the end effector. Specifically, atsome point of the movement of the end effector, the horizontal turn arm5 is slightly rotated to reduce the inertia caused in the linearmovement of the movable body 2 a. Accordingly, the end effector can bemoved with less energy. Therefore, when the robot 1 is moved in a timeduration equal to that of a path based on a conventional method, therobot 1 can be moved consuming less energy than in the conventional art.

The path described above is generated as a result of the calculationbased on the motion dynamics of the multiaxial robot 1. Accordingly, apath calculated in this manner can maximize the movement velocity withina range of satisfying the constraint conditions of the robot. Thus, anoptimized path for practical use can be generated. In addition, incalculating a velocity pattern using the Bobrow's method, positions onthe path are converted to angles. Accordingly, the configuration of thearm of the robot 1 is not limited to either of the left-hand system andthe right-hand system. Thus, a velocity pattern that can achieve amaximum velocity is calculated using both of the left- and right-handsystems.

Further, when the end effector is moved from the start point, themovable body 2 a is moved in the direction of the end point, while thehorizontal turn arm 5 is rotated so that an end thereof moves in adirection opposite to the direction of the end point. After that, theend of the horizontal turn arm 5 is rotated in the direction of the endpoint. In this case, the reaction caused by the movement of thehorizontal turn arm 5 comes to assist the acceleration force at the timeof activating the robot 1.

Furthermore, the path is generated such that, in stopping the endeffector at the end point, the horizontal turn arm 5 at a position wherethe end thereof, or the end effector, goes beyond the end point is movedtherefrom toward the start point. In other words, the path is generatedso that the end of the horizontal turn arm 5, or the end effector, ispermitted to pendulate back toward the start point and stopped. In thiscase, the reaction caused by the movement of the horizontal turn arm 5comes to assist the deceleration force at the time of stopping the robot1. In other words, the path generated in this way allows the horizontalturn arm 5 to move such that it causes a reaction to the movable body 2a.

Three pass points are set between the start and end points and a timeduration suitable for the pass points is ensured to be calculated, whilethe positions of the three pass points are changed. Specifically, inorder to generate a path that minimizes the time duration of the endeffector, the path is required to be optimized. In order to optimize thepath, one or more pass points are required to be set between the startand end points, and the movement velocity calculated when the positionsof the pass points are changed is required to be compared with themovement velocity before the change.

Assuming that the horizontal turn arm 5 is moved as described above, themovable body 2 a that is an axis on the base side with respect to thehorizontal turn arm 5 will have: a time point when an acceleration isgiven thereto right after the activation; a time point when thedirection of the acceleration is reversed at some point of the movement;and a time point when the acceleration is rendered to be zero rightbefore the stop. In the course of optimizing the path, it is consideredto be important to optimize at least the pass points corresponding tothe above three time points. Accordingly, when the pass pointscorresponding to the above three time points are set, a path thatminimizes the time duration is efficiently generated while the amount ofcalculation is suppressed. In this way, an optimized and practicallyusable path can be obtained. At the same time, with such a path, thepotential of the motors or the actuators can be maximally drawn out,which would not have been achieved by the method based on conventionalart due to the limitation of the method.

In addition, when a velocity pattern is generated for each joint space,and the constraint conditions of torque and velocity are determined foreach joint as in the conventional art, the number of conditions will betwice of the number of axes. In this regard, according to the Bobrow'smethod used in the present embodiment, a velocity pattern is generatedfor a path space. Accordingly, the constraint conditions of accelerationand velocity will be only two.

Second Embodiment

Referring to FIGS. 12 and 13, hereinafter is described a secondembodiment related to a method of generating a path of a multiaxialrobot and a control apparatus for the multiaxial robot.

In the second and the subsequent embodiments, the components identicalwith or similar to those in the control apparatus of the firstembodiment are given the same reference numerals for the sake ofomitting or simplifying explanation.

In the method of generating a path of a multiaxial robot and a controlapparatus for the multiaxial robot according to the second embodiment,there is a change in the timing of performing the step of converting theposition x of an end effector to the angle q of each axis. Specifically,in the first embodiment described above, the position x of the endeffector is converted to the angle q of each axis by solving the inversekinematics (refer to step S12). In this regard, in the secondembodiment, conversion to the angle q is performed at a stage prior tothe preparation of a shortest velocity pattern, that is, at the stage ofinterpolating pass points. Thus, the calculation based on inversekinematics can be omitted to dramatically reduce the load ofcalculation.

Referring to FIGS. 12 and 13, hereinafter is described a process ofpreparing a velocity pattern, which is performed by the control unit 9.

The control unit 9 reads information showing a start point and an endpoint given for example by an operator (step S1 in FIG. 12) andgenerates three initial pass points (step S2). Then the control unit 9converts the start, end and initial pass points in the end effectorspace to corresponding angles in the joint space (step S2A). After thisconversion, the control unit 9 proceeds to step S3 where theinterpolation is performed for the start point, the end point and threeinitial pass points to produce a path x=f(λ). In response, at step S4A,step S13A and steps S14 to S19 are performed as shown in FIG. 13. Atstep S13A among these steps, the angle q is substituted into the motionequation of robot.

In this case, the interpolated angle q is expressed by:

q=f(λ), q′=f′λ′, q″=f′λ″+f″λ″ ²  (17)

This is expressed by the motion equation of robot in a joint space asfollows:

T=a ₁(λ)λ″+a ₂(λ)λ′² +a ₃(λ)λ′+a ₄(λ)

a ₁ =Hf′,

a ₂ =Hf″+h(q,f′),

a ₃ =Bf′,

a ₄ =q  (18)

In FIGS. 12 and 13, steps other than the above are similar to those ofthe first embodiment.

Thus, according to the second embodiment, the path x is converted to thejoint angle q before the stage of interpolating the path x=f(λ). Thiscan eliminate the process of solving the equation of the inversekinematics mentioned above, i.e. steps S11 and S12 of FIG. 6 describedabove. In other words, the motion dynamics (forward kinematics) only hasto be solved in a joint angle space, leading to reduction of the load ofcalculation accordingly.

The operations and advantages obtained in the first embodiment can alsobe obtained in this second embodiment.

VARIATIONS

The present invention is not limited to the embodiment described aboveor illustrated in the drawings, but may be modified or extended asfollows.

The number of the pass points may be four or more.

A method other than the Bobrow's method may be used in calculating apath of maximizing the velocity of the multiaxial robot, on the basis ofthe motion dynamics of the robot.

The base-side arm and the end effector-side arm are determined on thebasis of the positional relationship of the arms. For example, amultiaxial robot may have a third arm connected to an end of a secondarm. In this case, when the first arm is referred to as a “base-sidearm”, the second and the third arms are referred to as “endeffector-side arms”. Also, when the second arm is referred to as a“base-side arm”, the third arm is referred to as an “end effector-sidearm”.

As an example of this, FIG. 14 shows a triaxial robot arm. This triaxialarm has arms AM1, AM2 and AM3 which are connected to joints JT1, JT2 andJT3, respectively. In moving the end effector EF of the triaxial armfrom a start point to a desired end point as well, the method ofgenerating a path and the control method described in the first orsecond embodiment can be similarly applied. In this case, when jointangles of the joints JT1, JT2 and JT3 are represented by θ₁, θ₂ and θ₃,respectively, Formula (1) may be processed using the following angle qas a three-dimensional vector:

q=[θ ₁,θ₂,θ₃]  (19)

As a result, the triaxial robot arm was activated as indicated in anexample shown in FIG. 15. According to this, in moving the positions ofthe three axes (J1, J2 and J3) from a start point of (0, 0, 0) degree toan end point of (90, 45, 90) degree, an effect of enhancing theacceleration force and the deceleration force was confirmed to beobtained by the reaction of the end effector-side arm. In other words,compared to the locus of a path (the dash-dot-dot line in FIG. 15) ofconventional art, the time duration was confirmed to be shortened.

The application of the present invention is not limited to a multiaxialrobot that includes a travelling axis which is combined with a rotationaxis. Instead, the present invention may be applied to a multiaxialrobot having a different combination of axes.

In the embodiments described above, the upper limits λ′_(min) andλ′_(max) of the velocity of the constraint conditions are treated asbeing constant. However, these values may be variable values. Twoexamples of this are provided herein.

In the first example, focus is put on the relationship between velocityand torque of each motor of the robot of the present invention.Specifically, the first example relates to a function of varying theupper limit of the acceleration as one of the constraint conditions.FIG. 16 is a diagram illustrating a TN curve of a generally known motor.It is known that, as a motor increases its velocity, the outputtedmaximum torque decreases. Therefore, in this example, the constraintcondition of the motor related to torque is expressed as follows,considering the above relationship:

λ″_(min)(λ,q′/f)≦λ″(λ,q′/f)≦λ″_(max)(λ,q′/f)  (20)

Using the TN curve shown in FIG. 16, a maximum torque corresponding tothe current velocity q′ is calculated to make a determination based onFormula (20). Thus, maximum torque is varied according to velocity.

The second example relates to a function of varying an upper-limitvelocity as one of the constraint conditions in an XR robot that has atravelling axis such as of a ball screw.

The XR robot shown in FIG. 17 includes a ball screw 20, a direct-actingaxis J1 (X axis), a movable stage 23 and an arm 25. The direct-actingaxis J1 has ends which are fixed to a fixed base 22 via a fixing means21. The movable stage 23 is movably held by the direct-acting axis J1.The arm 25 is rotatably held by the movable stage 23 via a joint 24. Thearm 25 serves as an axis of rotation (R axis) J2. The biaxial XR robotis configured in this way. In the generation of the path of the two axesJ1 and J2, the configuration according to the present invention isimplemented to thereby enhance the acceleration force and thedeceleration force.

In a single axis such as of a ball screw, its upper-limit velocity(so-called limit velocity or critical velocity) is set up. The value ofthe upper-limit velocity however varies depending on the position of theaxis from its fixed ends. When such a robot is driven with theconventional trapezoidal velocity pattern, the top edge (upper-limitvelocity) of the trapezoid has been set to a constant value that is avalue considering the safety factor.

In this example, the method of generating a path according to thepresent invention can be applied to the XR robot to change theupper-limit velocity according to a position P of the movable stage 23along the direct-acting axis J1. As will be understood from Formula(13), the constraint condition λ′_(min)≦λ′≦λ′_(max) of velocity isdetermined by the position λ (i.e. angle) and the maximum velocity q′.Therefore, the upper-limit velocity can be varied according to theposition P on the axis J1. Thus, as schematically indicated by thehatched area in FIG. 18, the velocity area that has not been fully usedin the conventional art can be efficiently used to further shorten thetime duration.

The present invention may be embodied in several other forms withoutdeparting from the spirit thereof. The embodiments and modificationsdescribed so far are therefore intended to be only illustrative and notrestrictive, since the scope of the invention is defined by the appendedclaims rather than by the description preceding them. All changes thatfall within the metes and bounds of the claims, or equivalents of suchmetes and bounds, are therefore intended to be embraced by the claims.

What is claimed is:
 1. A method of generating a path for multiaxialrobot provided with a plurality of movable axes composed of a pluralityof links and a plurality of joints, an end effector being arranged at atop of the links connected with the joints and being moved along thepath, the step comprising steps of: specifying a start point and an endpoint; generating a pass point between the specified start and endpoints; converting coordinate positions of both the specified start andend points and the generated initial pass points into angles of each ofthe movable axes of the joints; and generating, based on both thespecified start and end points and the generated initial pass pointswhich have been subjected to the angle conversion, the path whichenables the end effector to move in the shortest time from the startpoint thereof to the end point thereof, the production of the pathinvolving repeated changes of the initial pass points.
 2. The method ofclaim 1, wherein the initial pass points are three in number.
 3. Themethod of claim 2, wherein the step of generating the path generatesvelocity patterns of first and second joints to drive respectively firstand second joints among the plurality of joints on the basis of thestart and end points which have been subjected to the angle conversion,the second link being positioned closer to the end effector than thefirst link, the velocity patterns enabling a movement of the second linkto cause i) a reaction for increasing an acceleration force generated bythe first joint when the end effector is started to be moved from thestart point toward the end point, and ii) a reaction for increasing adeceleration force generated by the first joint when the end effector isstopping to the end point.
 4. An apparatus for controlling drive of amultiaxial robot provided with a plurality of movable axes composed of aplurality of links and a plurality of joints, comprising: positionspecifying means for specifying a start point and an end point of a pathcontinuing from the start point to the end point, the end effector beingarranged at a top of the links connected with the joints; firstgenerating means for generating a pass point between the specified startand end points; converting means for converting coordinate positions ofboth the specified start and end points and the generated initial passpoints into angles of each of the movable axes of the joints; secondgenerating means for generating, based on the specified start and endpoints and the generated initial pass points which have been subjectedto the angle conversion, the path which enables the end effector to movein the shortest time from the start point thereof to the end pointthereof, the production of the path involving repeated changes of theinitial pass points; and controlling means for controlling drive of theplurality of movable axes based on the generated path.